package inspection

//
//import (
//	"bytes"
//	"fmt"
//	"io"
//	"os"
//	"strings"
//)
//
//func SlowLog(file_office int64) (bool, error) {
//	f, err := os.OpenFile(slow_log_path, os.O_RDWR, 06664)
//	if err != nil {
//		fmt.Println(err)
//	}
//	defer f.Close()
//	//buf := bufio.NewReader(f)
//	var bf bytes.Buffer
//	//f.Seek(io.SeekEnd, io.SeekEnd)
//	seekEnd, err := f.Seek(0, io.SeekEnd)
//	if err != nil {
//		fmt.Println(err)
//	}
//	file_office = 10
//	if file_office < seekEnd {
//		for {
//			if file_office >= seekEnd {
//				break
//			}
//			fs := make([]byte, 10)
//			f.ReadAt(fs, file_office)
//			if _, err = bf.Write(fs); err != nil {
//				fmt.Println(err)
//				break
//			}
//			file_office += 10
//		}
//	}
//	fc := bf.String()
//	bf.Reset()
//	fc = strings.ReplaceAll(fc, "\n", "")
//	var conditionalFilter = []string{"# Time:", "# User@Host:", "Id:", "# Query_time:", "Lock_time:", "Rows_sent:", "Rows_examined:"}
//	var columnMap = map[string]string{"# Time:": "slow_time", "# User@Host:": "user@host", "Id:": "processlist_id", "# Query_time:": "query_time", "Lock_time:": "lock_time", "Rows_sent:": "rows_sent", "Rows_examined:": "rows_examined"}
//	for {
//		var fl string
//		if n := strings.Index(fc, "# Time:"); n != -1 {
//			fc = fc[n:]
//		} else {
//			break
//		}
//		if n := strings.Index(fc[len("# Time:"):], "# Time:"); n != -1 {
//			fl = fc[:n]
//		} else {
//			fl = fc
//		}
//		if n := strings.LastIndex(fl, ";"); n != -1 {
//			fl = fc[:n]
//		}
//		for k, v := range conditionalFilter {
//			if k == 0 {
//				continue
//			}
//			if k+1 < len(conditionalFilter) {
//				if n := strings.Index(fl, v); n != -1 {
//					bf.WriteString(fmt.Sprintf("\"%s\":\"%s\",", columnMap[conditionalFilter[k-1]], func(s, b string) string {
//						if n := strings.Index(s, b); n != -1 {
//							return s[len(b):]
//						}
//						return ""
//					}(fl, conditionalFilter[k-1])))
//					fl = fl[n:]
//				}
//			}
//			//if k+1 == len(conditionalFilter){
//			//	bf.WriteString(fmt.Sprintf("\"%s\":\"%s\",", "sql_text", func(s, b string) string {
//			//		if n := strings.Index(s, b); n != -1 {
//			//			return s[len(b):]
//			//		}
//			//		return ""
//			//	}))
//			//}
//		}
//		fmt.Println(bf.String())
//	}
//	//for {
//	//	line, err := buf.ReadLine("\n")
//	//	if err != nil {
//	//		fmt.Println(err)
//	//	}
//	//}
//
//	//end, err := f.Seek(0, io.SeekEnd)
//	//if err != nil {
//	//	fmt.Println(err)
//	//}
//	//fmt.Println(end)
//	//fileWriteTimestamp = fmt.Sprintf("%s Get engine innodb status information.........", time.Now().Format("2006-01-02 15:04:05"))
//	//gd.FileS.WriteF(fileWriteTimestamp)
//	//gd.FileS.WriteF(fmt.Sprintf("%s %s", A[0], B[0][0]))
//	//gd.FileS.WriteF(fmt.Sprintf("%s %s", A[1], B[0][1]))
//	//gd.FileS.WriteF(fmt.Sprintf("%s ", A[2]))
//	//if len(B[0][2:]) == 0 {
//	//	gd.FileS.WriteF("NULL")
//	//} else {
//	//	for _, i := range B[0][2:] {
//	//		gd.FileS.WriteF(i)
//	//	}
//	//}
//
//	//var bf bytes.Buffer
//	//if len(B[0][2:]) == 0 {
//	//	bf.WriteString("NULL")
//	//} else {
//	//	for _, i := range B[0][2:] {
//	//		bf.WriteString(i)
//	//	}
//	//}
//	//f := bf.String()
//	//bf.Reset()
//	//f1 := f
//	//bf.WriteString(fmt.Sprintf("\"host_instance\":\"%s\",", "172.17.140.212:3306"))
//	//bf.WriteString(fmt.Sprintf("\"create_time\":\"%s\",", time.Now().Format("2006-01-02 15:04:05")))
//	//a := []string{"Status", "BACKGROUND THREAD", "SEMAPHORES", "TRANSACTIONS", "FILE I/O", "INSERT BUFFER AND ADAPTIVE HASH INDEX", "LOG", "BUFFER POOL AND MEMORY", "INDIVIDUAL BUFFER POOL INFO", "ROW OPERATIONS"}
//	//for {
//	//	var sb, db string
//	//	if len(a) > 1 {
//	//		sb, db = a[0], a[1]
//	//	} else {
//	//		if len(a) > 0 {
//	//			sb, db = a[0], ""
//	//		} else {
//	//			db = "/*gt-collect-message*/"
//	//		}
//	//	}
//	//	if db != "" {
//	//		if n := strings.Index(f1, db); n != -1 {
//	//			bf.WriteString(fmt.Sprintf("\"%s\":", strings.ToLower(strings.Join(strings.Split(sb, " "), "_"))))
//	//			bf.WriteString(fmt.Sprintf("\"%s\",", f1[:n]))
//	//			f1 = f1[n+len(db):]
//	//			a = a[1:]
//	//		} else {
//	//			break
//	//		}
//	//	} else {
//	//		bf.WriteString(fmt.Sprintf("\"%s\":", strings.ToLower(strings.Join(strings.Split(sb, " "), "_"))))
//	//		bf.WriteString(fmt.Sprintf("\"%s\",", f1))
//	//		f1 = ""
//	//		a = []string{}
//	//	}
//	//}
//	//data := bf.String()
//	//bf.Reset()
//	//if strings.HasSuffix(data, ",") {
//	//	data = data[:len(data)-1]
//	//}
//	//store.Store().Write("engine", fmt.Sprintf("{%s}", data))
//	//vlog = fmt.Sprintf("(%d) %s The sql statement is executed successfully.", gd.LogThreadNumber, event)
//	//gd.Logs.Info(vlog)
//	return true, nil
//}
